// Idiomas.cpp : implementation file
//

#include "stdafx.h"
#include "isismarc.h"
#include "Idiomas.h"
#include "resource.h"
#include "mensaje.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CIdiomas dialog


CIdiomas::CIdiomas(CWnd* pParent /*=NULL*/)
	: CDialog(IDD_DIALOGIDIOMAS, pParent)
{
	//{{AFX_DATA_INIT(CIdiomas)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}

int CIdiomas::OnInitDialog()
{
	CDialog::OnInitDialog();

	//mensajes por idioma
	m_ok.SetWindowText(tMensaje[0][1]);
	m_cancelar.SetWindowText(tMensaje[0][2]);
	SetWindowText(tMensaje[5][5]);

	idiomas.RemoveAll();
	mi.IsisIdiomas(idiomas,  path);	//cargo idiomas posibles
	CArray <CString, CString&> id;
	for (int i = 0; i < idiomas.GetSize(); i++)
	{
		idiomas[i].Idioma.ReleaseBuffer();
		id.Add(idiomas[i].Idioma);
		id_actual.MakeLower();
		idiomas[i].Archivo.MakeLower();
		if (id_actual == idiomas[i].Archivo.Mid(2,2))
			row_actual = i;
	}


	m_grididiomas.SetBackColor(BLANCO);
	m_grididiomas.SetColWidth(0, 6500 );
	m_grididiomas.SetRows(idiomas.GetSize());
	for ( i=0; i < idiomas.GetSize(); i++)
	{
		m_grididiomas.SetRow(i);
		m_grididiomas.SetText(idiomas[i].Idioma);
	}
	//pongo fondo amarillo a la celda actual
	if (row_actual >= 0)
	{
		m_grididiomas.SetRow(row_actual);
		m_grididiomas.SetCellBackColor(AMARILLO);
	}
	

	return TRUE;
}

void CIdiomas::SetPath(CString p, CString idioma)
{
	path = p;
	id_actual = idioma;

}

//devuelvo idioma elegido
CString CIdiomas::GetElegido()
{
	if (idiomas.GetSize() > 0)
		return idiomas[row_actual].Archivo;
	else
		return "";
}



void CIdiomas::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CIdiomas)
	DDX_Control(pDX, IDC_GRID_IDIOMAS, m_grididiomas);
	DDX_Control(pDX, IDOK, m_ok);
	DDX_Control(pDX, IDCANCEL, m_cancelar);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CIdiomas, CDialog)
	//{{AFX_MSG_MAP(CIdiomas)
		// NOTE: the ClassWizard will add message map macros here
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CIdiomas message handlers

BEGIN_EVENTSINK_MAP(CIdiomas, CDialog)
    //{{AFX_EVENTSINK_MAP(CIdiomas)
	ON_EVENT(CIdiomas, IDC_GRID_IDIOMAS, -600 /* Click */, OnClickGridIdiomas, VTS_NONE)
	//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

void CIdiomas::OnClickGridIdiomas() 
{
	int row = m_grididiomas.GetRow();


	//pongo fondo blanco a la celda anterior
	m_grididiomas.SetRow(row_actual);
	m_grididiomas.SetCellBackColor(BLANCO);

	row_actual = row;
	//pongo fondo amarillo a la celda actual
	m_grididiomas.SetRow(row_actual);
	m_grididiomas.SetCellBackColor(AMARILLO);
	
}
